草庐IT

Java 8 Lambda 方法引用 简记

全部标签

javascript - 测试rxjs的正确方法

我带来了“rxjsinaction”这本书,刚刚完成了测试部分。测试rxjs代码与通常的测试不同,因为一切都是延迟加载。在书中,他们提到了两种测试方法,通过完成(我正在使用QUnit并且完成信号异步代码已完成)或大理石图。我的问题是,我应该选择上面提到的哪种方法? 最佳答案 我的同事经常问我这个问题。我终于抽出时间记录mywaysoftestingRxJsonmyblog.由于您的问题似乎与RxJs5有关,因此我只会在此处引用我帖子的相关部分。以RxJs4的方式在RxJs5中测试当您将代码库从RxJs4迁移到5时,您会发现很多东西已

javascript - TypeScript - 如何从事件处理程序方法访问类实例

在下面的代码片段中,我有一个TypeScript类,实例方法buz是Canvas的click事件的监听器。buz方法中的this关键字是指事件的目标对象(canvas)。如何从buz方法访问foo实例?classFoo{constructor(private_canvas:HTMLCanvasElement,private_message:string){}publicbar():void{this._canvas.addEventListener(`click`,this.buz);}privatebuz(e:MouseEvent):void{console.info(`Afterc

javascript - 在 JavaScript 中按名称获取 cookie 的最佳方法是什么?

我正在使用原型(prototype),但找不到任何内置扩展来设置或检索cookie。在谷歌搜索了一下之后,我看到了几种不同的方法。我想知道您认为在JavaScript中获取cookie的最佳方法是什么? 最佳答案 我使用这个例程:functionReadCookie(name){name+='=';varparts=document.cookie.split(/;\s*/);for(vari=0;i效果很好。 关于javascript-在JavaScript中按名称获取cookie的最佳

javascript - 在 javascript 的协作线程意义上是否有正确的 'yield' 方法?

我正在编写一个无处不在的插件,ajax查询的长函数回调阻塞了GUI线程,导致firefox锁定。明显的解决方案似乎是使用某种延迟执行(即我们希望定期将执行此查询函数添加到事件队列的末尾,然后允许其他命令待执行。我能想到的唯一方法是使用超时为零的settimeout...这是否保证有效,或者是否有更好的方法。 最佳答案 使用setTimeout并设置一个非常小的超时时间(0或者如果您感到偏执,则非常接近于零)是在浏览器上下文中执行此操作的唯一方法。它工作得很好而且非常可靠,但一定要足够频繁地产生,但不要太,因为它确实需要一段时间才能返

javascript - 在 jQuery 中绑定(bind)事件后,如何获取对事件处理函数的引用?

如果我附加一个点击事件处理程序:$(".selector").bind("click",function(){//somehandlerfunction});如何获得对该函数的引用?这不起作用:varrefToFunc=$(".selector").bind("click");typeofrefToFunc==="object";//Iwantthefunction我认为bind("eventname")在那种情况下只返回jQuery对象而不是事件处理函数。它必须存储在某个地方。 最佳答案 非常有趣的问题。您可以像这样检索它:var

javascript - 在 JavaScript 函数中调用 Java

请告诉我是否可以在javascript函数中调用java?functiongetScreenDimension(){} 最佳答案 虽然根据问题的措辞,“否”的答案在技术上是正确的。您可能想阅读有关AJAX的内容。这是javascript向您的后端代码(在本例中为Java)发出请求的一种方式。Javascript是客户端,这意味着它由用户的浏览器运行。Java正在您的服务器上运行。为了让客户端javascript与后端Java交互,您需要向服务器发出请求。 关于javascript-在Ja

使用 val().match() 方法的 Javascript 正则表达式

我正在尝试使用以下规则验证名为phone_number的字段:第一个数字应该是3,然后是另外9个数字,所以总共10个数字示例:3216549874或者可以是7个数1234567这里有我的代码:if(!($("#"+val["htmlId"]).val().match(/^3\d{9}|\d{7}/)))missing=true;为什么不起作用:(当我将其放入在线正则表达式检查器时显示正常。 最佳答案 您应该使用测试而不是匹配,这是正确的代码:.test(/^(3\d{9}|\d{7})$/)Match会找到所有出现的情况,而test

javascript - 使用 querySelectorAll 时,是否可以在不使用 ID 的情况下引用上下文节点的直接子节点?

假设我有一个像这样的HTML结构要使用querySelectorAll查询“a”的child,我可以做类似的事情//Get"b",butnot"c"document.querySelectorAll('#a>div')我的问题是:是否可以在没有ID的情况下直接引用节点来执行此操作?我试过做vara_div=document.getElementById('a')a_div.querySelectorAll('>div')//但我收到一条错误消息,告诉我我使用的选择器无效。如果有人想知道,我的实际用例会更复杂,例如“>.foo.bar.baz”,所以我宁愿避免手动DOM遍历。目前我正在向

javascript - 有没有一种简单的方法可以找出通过哪个js代码操作DOM元素?

我在浏览一个网站时看到了一些有趣的东西:一个以有趣的方式动画的DOM元素。我想弄清楚它是如何完成的,所以我开始深入研究源代码。我花了很长时间才找到执行此操作的代码。有谁知道一种“跟踪”DOM元素的方法,这样您就可以检测到它是通过什么代码被操纵的? 最佳答案 在Chrome中,您可以添加DOM断点。您可以找到更深入的解释here.简而言之,您在“元素”面板中选择要检查的DOM元素,然后选择BreakOn...->SubtreeModifications。当DOM元素改变其结构时,您将被指向执行该操作的JS代码。但是,如果您特别关注执行

javascript - 使用 AngularJS 安全处理登录的最佳方法是什么

我是Angular的新手。我正在开发一个简单的登录表单,将输入的用户名与从JSON查询返回的用户名进行比较。如果找到匹配项,则处理登录。我觉得我这样做的方式不安全,我认为可以通过浏览器的控制台访问返回的JSON字符串是否正确?在不久的将来,一旦我了解了如何正确地执行此操作,我也会为此添加密码检查。我想指出正确的方向,以Angular方式解决用户登录问题。app.jsangular.module('userApp',["ngResource"]).config(['$routeProvider',function($routeProvider){$routeProvider.when('